Telegram Group & Telegram Channel
🧠 Как static в C++ помогает бороться с неожиданностями

Сейчас покажу вам интересную особенность ключевого слова static в контексте функций — то, что часто забывают даже опытные разработчики.

Представим простую ситуацию:


void logCall() {
int counter = 0;
counter++;
std::cout << "Called " << counter << " times\n";
}


Кажется, всё хорошо… Но функция всегда выводит Called 1 times, потому что переменная counter создаётся заново при каждом вызове.

Теперь добавим static:


void logCall() {
static int counter = 0;
counter++;
std::cout << "Called " << counter << " times\n";
}


А вот теперь магия — переменная counter сохраняет своё значение между вызовами! Это отличный способ реализовать простой счётчик, кэш или ленивую инициализацию прямо в функции.

📌 Важно: static делает переменную локальной по области видимости, но глобальной по времени жизни.

А вы где применяли static неожиданным образом? Делитесь в комментариях! 👇

➡️ @cpp_geek



tg-me.com/cpp_geek/308
Create:
Last Update:

🧠 Как static в C++ помогает бороться с неожиданностями

Сейчас покажу вам интересную особенность ключевого слова static в контексте функций — то, что часто забывают даже опытные разработчики.

Представим простую ситуацию:


void logCall() {
int counter = 0;
counter++;
std::cout << "Called " << counter << " times\n";
}


Кажется, всё хорошо… Но функция всегда выводит Called 1 times, потому что переменная counter создаётся заново при каждом вызове.

Теперь добавим static:


void logCall() {
static int counter = 0;
counter++;
std::cout << "Called " << counter << " times\n";
}


А вот теперь магия — переменная counter сохраняет своё значение между вызовами! Это отличный способ реализовать простой счётчик, кэш или ленивую инициализацию прямо в функции.

📌 Важно: static делает переменную локальной по области видимости, но глобальной по времени жизни.

А вы где применяли static неожиданным образом? Делитесь в комментариях! 👇

➡️ @cpp_geek

BY C++ geek


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/cpp_geek/308

View MORE
Open in Telegram


C geek Telegram | DID YOU KNOW?

Date: |

The messaging service and social-media platform owes creditors roughly $700 million by the end of April, according to people briefed on the company’s plans and loan documents viewed by The Wall Street Journal. At the same time, Telegram Group Inc. must cover rising equipment and bandwidth expenses because of its rapid growth, despite going years without attempting to generate revenue.

What is Telegram?

Telegram’s stand out feature is its encryption scheme that keeps messages and media secure in transit. The scheme is known as MTProto and is based on 256-bit AES encryption, RSA encryption, and Diffie-Hellman key exchange. The result of this complicated and technical-sounding jargon? A messaging service that claims to keep your data safe.Why do we say claims? When dealing with security, you always want to leave room for scrutiny, and a few cryptography experts have criticized the system. Overall, any level of encryption is better than none, but a level of discretion should always be observed with any online connected system, even Telegram.

C geek from sg


Telegram C++ geek
FROM USA